#version 330 core

layout (location = 0) in vec3 aPos;
layout (location = 1) in vec3 aCol;
layout (location = 2) in vec2 aTexCoord;
layout (location = 3) in vec3 aNormal;

out vec3 oCol;
out vec3 oPos;
out vec2 oTexCoord;
out vec3 oNormal;

uniform float uW;
uniform float uH;

void main() {

    vec3 pos = aPos;

    float r = uW / uH;

    if (uW < uH) {
        pos.x *= r;
    } else {
        pos.y *= r;
    }

    gl_Position = vec4(pos, 1.0);
    oCol = aCol;
    oPos =  pos;
    oTexCoord = aTexCoord;
    oNormal = aNormal;
}
